home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v2.1 / Amiga Developer CD v2.1.iso / CDTV / cdtvtools-11 / debox / include / debox.i < prev    next >
Text File  |  1991-06-24  |  4KB  |  133 lines

  1. * :ts=8
  2. *
  3. *    debox.i -- Header for ASM decompress code
  4. *
  5. * William A. Ware                    9006.20
  6. * Regenerated by hand.  MASSIVE CHANGES!        9010.01
  7. **
  8. **      Copyright (c) 1991 Commodore Electronics Ltd.
  9. **      All rights reserved. Confidential and Proprietary.
  10. **      CDTV is a trademark of Commodore Electronics Ltd.
  11. **
  12.  
  13.         IFND    DEBOX_I
  14. DEBOX_I        SET    1
  15.  
  16.         IFND    EXEC_TYPES_I
  17.         include    "exec/types.i"
  18.         ENDC
  19.  
  20.         IFND    GRAPHICS_VIEW_I
  21.         include    "graphics/view.i"
  22.         ENDC
  23.  
  24.  
  25. *\
  26. * DeBox file types.
  27. */
  28. DEBOXTYPE_UNKNOWN    EQU    0    ; Unspecified data.
  29. DEBOXTYPE_PIC        EQU    1    ; Picture.
  30.  
  31. *\
  32. * Error codes.
  33. */
  34. DEBOXERR_HEADER        EQU    -1    ; Header is invalid.
  35. DEBOXERR_DATA        EQU    -2    ; Data has an error in it.
  36. DEBOXERR_TYPE        EQU    -3    ; Data is the wrong type of file.
  37.                     ; ie DEBOXTYPE_UNKNOWN instead of
  38.                     ; DEBOXTYPE_PIC.
  39. DEBOXERR_MEMORY        EQU    -4    ; Not enough memory to decompress
  40.                     ; file.
  41.  
  42.     STRUCTURE CompHeader,0
  43.         UBYTE    ci_Check    ; Checksum for the header.
  44.         UBYTE    ci_Version    ; Version for the compression.
  45.         UBYTE    ci_pad        ; Reserved for future use.
  46.         UBYTE    ci_Type        ; Type of data, e.g. DEBOXTYPE_PIC,
  47.                     ; DEBOXTYPE_UNKNOWN, et al.
  48.         ULONG    ci_DataInfo    ; Info on data -- for library's use.
  49.         LONG    ci_Size        ; Size of uncompressed data.
  50.         LONG    ci_CSize    ; Size of compressed data.
  51.     LABEL    ci_SIZEOF
  52.  
  53.  
  54. *\
  55. * Notes on BMInfo:
  56. *
  57. * bmi_TotalSize:
  58. *    DecompBMInfo() allocates everything together so there are private
  59. * parts after this structure.  This is the total size of the entire
  60. * structure, public and private.
  61. *
  62. * bmi_TransparentColor:
  63. *    If BMIF_TRANSPARENT_COLOR is set in bmi_Flags, then this field can be
  64. * used to make a mask out of the decompressed bit map.
  65. */
  66.     STRUCTURE BMInfo,0
  67.         ULONG    bmi_TotalSize    ; See notes above.
  68.         APTR    bmi_ColorMap    ; Pointer to an Amiga colormap.
  69.         APTR    bmi_RangeInfo    ; Pointer to RangeInfos.
  70.         UWORD    bmi_Width    ; Dimensions of the picture.
  71.         UWORD    bmi_Height
  72.         UBYTE    bmi_Depth    ; Number of bitplanes.
  73.         UBYTE    bmi_Flags    ; See below.
  74.         UWORD    bmi_Modes    ; View modes (HIRES, LACE, etc.)
  75.         UBYTE    bmi_NumColors    ; Number of colors.
  76.         UBYTE    bmi_NumRanges    ; Number of RangeInfos.
  77.         UBYTE    bmi_TransparentColor    ; See notes above.
  78.         UBYTE    bmi_pad1    ; Reserved for future use.
  79.         ULONG    bmi_pad2
  80.     LABEL    bmi_SIZEOF
  81.  
  82. *\
  83. * BMInfo Flags.
  84. */
  85.         BITDEF    BMI,HAS_COLORS,0    ; BMInfo has a colormap.
  86.         BITDEF    BMI,HAS_MASK,1        ; Bitmap has mask plane.
  87.         BITDEF    BMI,HAS_RANGES,2    ; BMInfo has RangeInfos.
  88.         BITDEF    BMI,TRANSPARENT_COLOR,3    ; See notes above.
  89.  
  90.  
  91. *\
  92. * Notes on RangeInfo:
  93. *
  94. * rgi_Size:
  95. *    Contains the total size of the RangeInfo structure.  If there is an
  96. * array of RangeInfos, this value may be used as an offset from the current
  97. * RangeInfo to the next one in the array.
  98. *
  99. * rgi_CArray[]:
  100. *    It contains color table indicies.  It specifies the order in which
  101. * colors should be rotated through the colormap.  For example, if rgi_CArray
  102. * were to contain 1,2,4, you would cycle register 1 into register 2,
  103. * register 2 into register 4, and register 4 into register 1.
  104. */
  105.     STRUCTURE RangeInfo,0
  106.         UWORD    rgi_Size    ; See notes above.
  107.         UBYTE    rgi_Low        ; Start at rgi_CArray[rgi_Low]
  108.         UBYTE    rgi_High    ; and end at rgi_CArray[rgi_High]
  109.         BYTE    rgi_Dir        ; -1:Left, 0:Off, 1: Right
  110.         UBYTE    rgi_Flags    ; Flags (none defined as of yet).
  111.         UWORD    rgi_Seconds    ; Time between each cycle.
  112.         ULONG    rgi_MicroSeconds
  113.         UWORD    rgi_SecondsLeft    ; Countdown variables.
  114.         ULONG    rgi_MicroLeft    ; Both modified by CycleRanges().
  115.         ULONG    rgi_reserved
  116.         STRUCT    rgi_CArray,32    ; See notes above.
  117.     LABEL    rgi_SIZEOF
  118.  
  119.  
  120.     STRUCTURE SuperView,v_SIZEOF    ; sv_View
  121.          STRUCT    sv_ViewPort,vp_SIZEOF
  122.         STRUCT    sv_RasInfo,ri_SIZEOF
  123.         LONG    sv_Flags
  124.     LABEL    sv_SIZEOF
  125.  
  126. *\
  127. * SuperView Flags.
  128. */
  129.     BITDEF    SV,ALLOCATED,1    ; This structure created by CreateView().
  130.  
  131.  
  132.      ENDC
  133.